/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package EntradaSalida;

import java.util.Scanner;

/**
 *
 * @author Alejandros y Nelea
 */
public class Entrada {

    /**
     * Método que recibe el valor de las dimensiones del tablero y comprueba que
     * sean válidas
     *
     * @return int dime - Valor de la dimensión del tablero
     */
    public int introducirDimensiones() {
        Scanner lector = new Scanner(System.in);
        int dime;

        System.out.println("Introducir valor de la dimensión del tablero "
                + "(entre 10 i 20): ");

        while (true) {
            if (!lector.hasNextInt()) {
                lector.next();
                System.out.println("Valor no entero, volver a introducirlo: ");
            } else {
                dime = lector.nextInt();
                if ((dime < 10) || (dime > 20)) {
                    System.out.println("Valor no válido, volver a introducirlo "
                            + "(entre 10 i 20): ");
                } else {
                    break;
                }
            }
        }
        return dime;
    }

    /**
     * Método que recibe el valor de la dificultad de la partida y comprueba que
     * sea válido
     *
     * @return int difi - Valor del porcentaje de la dificultad del juego
     */
    public int introducirDificultad() {
        Scanner lector = new Scanner(System.in);
        int difi;
        char car;

        //Pedimos que introduzca la dificultad
        System.out.println("Introducir la dificultad del juego "
                + "(f:fácil, m:medio, d:díficil): ");

        while (true) {
            car = lector.next().charAt(0);
            switch (car) {
                case 'f':
                    difi = 10;
                    break;
                case 'm':
                    difi = 15;
                    break;
                case 'd':
                    difi = 20;
                    break;
                default:
                    System.out.println("Valor introducido no válido, volver a "
                            + "introducirlo (f:fácil, m:medio, d:díficil): ");
                    lector.nextLine();
                    continue;
            }
            break;
        }
        return difi;
    }

    /**
     * Método que recibe el valor de las posiciones del tablero y comprueba que
     * sean válidas
     *
     * @param dime - Dimensión del tablero para limitar el valor de la posición
     * introducida
     * @return int posi - Valor de la posición
     */
    public int introducirPosición(int dime) {
        Scanner lector = new Scanner(System.in);
        int posi;

        while (true) {
            if (!lector.hasNextInt()) {
                lector.next();
                System.out.println("Valor no entero, volver a introducirlo: ");
            } else {
                posi = lector.nextInt();
                if ((posi < 1) || (posi > dime)) {
                    System.out.println("Valor no válido, volver a introducirlo "
                            + "(entre 1 i " + dime + "): ");
                } else {
                    break;
                }
            }
        }
        return posi;
    }

    /**
     * Método que muestra el menú para continuar jugando o terminar la partida
     *
     * @return String opcio - El valor puede ser S para continuar jugando o N
     * para terminar el juego
     */
    public String mostrarMenu() {
        String opcio;
        Scanner lector = new Scanner(System.in);

        //Se pregunta si quiere volver a jugar otra partida
        System.out.println("\n¿Quieres volver a jugar? (S/N)");

        while (true) {
            opcio = lector.next();
            if (opcio.equals("S") || opcio.equals("s")) {
                return opcio;
            } else if (opcio.equals("N") || opcio.equals("n")) {
                return opcio;
            } else {
                System.out.println("Tienes que introducir S o N!!");
                lector.nextLine();
                continue;
            }
        }
    }
}
